# build_exe.py
import PyInstaller.__main__
import os
import sys

def build_exe():
    # 获取当前目录
    current_dir = os.path.dirname(os.path.abspath(__file__))
    
    # 主程序文件
    main_script = os.path.join(current_dir, "audio_player_gui.py")
    
    # PyInstaller参数
    params = [
        main_script,
        '--name=AudioPlayer',          # 生成的exe名称
        '--onefile',                   # 打包成单个exe文件
        '--windowed',                  # 不显示控制台窗口
        '--icon=audio_icon.ico',       # 图标文件（如果有）
        '--add-data=audio_icon.png;.', # 添加资源文件
        '--noconfirm',                 # 覆盖输出文件时不确认
        '--clean',                     # 清理临时文件
        '--hidden-import=PyQt5.QtCore',
        '--hidden-import=PyQt5.QtGui',
        '--hidden-import=PyQt5.QtWidgets',
        '--hidden-import=pygame',
    ]
    
    # 执行打包
    PyInstaller.__main__.run(params)

if __name__ == "__main__":
    build_exe()